/** * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio */ package com.hundsun.ares.studio.ui.editor.editingsupport; import org.eclipse.emf.ecore.EEnum; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.jface.viewers.ColumnViewer; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.widgets.Composite; import com.hundsun.ares.studio.ui.editor.celleditors.EEnumComboBoxCellEditor; import com.hundsun.ares.studio.ui.editor.viewers.IEStructuralFeatureProvider; /** * @author gongyf * */ public class EnumEditingSupport extends EMFEditingSupport { private ILabelProvider itemLableProvider = new LabelProvider(); /** * @param viewer * @param feature */ public EnumEditingSupport(ColumnViewer viewer, EStructuralFeature feature) { super(viewer, feature); } /** * @param viewer * @param featureProvider */ public EnumEditingSupport(ColumnViewer viewer, IEStructuralFeatureProvider featureProvider) { super(viewer, featureProvider); } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.ui.editingsupports.BaseEditingSupport#createCellEditor() */ @Override protected CellEditor createCellEditor() { return new EEnumComboBoxCellEditor((Composite) getViewer().getControl()); } /** * @param itemLableProvider the itemLableProvider to set */ public void setItemLableProvider(ILabelProvider itemLableProvider) { this.itemLableProvider = itemLableProvider; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.ui.editingsupports.BaseEditingSupport#doGetCellEditor(java.lang.Object) */ @Override protected CellEditor doGetCellEditor(Object element) { EEnumComboBoxCellEditor cellEditor = (EEnumComboBoxCellEditor) super.doGetCellEditor(element); EStructuralFeature feature = getFeature(element); if (feature.getEType() instanceof EEnum) { EEnum eEnum = (EEnum) feature.getEType(); cellEditor.setEEnum(eEnum, itemLableProvider); } else { cellEditor = null; } return cellEditor; } }